import {isArray} from './ArrayTools'
/**
 * 判断是否为字符串
 * @param obj
 * @returns {boolean}
 */
export function isString(obj) {
    return (typeof obj == 'string')
}
/**
 * 首字母大写
 * @param str
 * @returns {string}
 */
export function upperFirst(str) {
    return str.charAt(0).toUpperCase() + str.slice(1)
}

/**
 * 获取路径参数,形如：/user/:id
 * :id为参数
 * @param url
 * @return 返回属性名，如：id
 */
export function getPathVar(url) {
    return url.substring(url.lastIndexOf(':') + 1)
}

/**
 * 替换路径变量
 * @param url 形如：/user/:id
 * @param prop 如：id
 * @param val 替换的值
 * @return 返回替换后的url
 */
export function putPathVar(url,prop,val) {
    return url.replace(':' + prop,val)
}

/**
 * 判断字符器是否以任何一个suffix结尾
 * @param str
 * @param suffix Sring|数组
 * @param ignoreCase 是否不区分大小写
 * @returns {boolean}
 */
export function endWithAny(str,suffix,ignoreCase) {

    let r = false
    let array = []
    if (isString(suffix)) {
        array.push(suffix)
    }else if (isArray(suffix)) {
        array = (suffix)
    }
    r = array.some((item)=>{
        if(ignoreCase){
            return str.toLowerCase().lastIndexOf(item.toLowerCase()) >= 0
        }else{
            return str.lastIndexOf(item) >= 0
        }
    })
    return r
}